﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DataModels.Common
{
    /// <summary>
    /// Report processing Error
    /// </summary>
    public enum ReportProcessingError
    {
        /// <summary>
        /// There is no error
        /// </summary>
        NO_ERROR = 0,

        /// <summary>
        /// Report does not exist
        /// </summary>
        REPORT_DOES_NOT_EXIST = 1,

        /// <summary>
        /// Report contains white spaces like space, tab, new line
        /// </summary>
        WHITE_SPACE_PRESENT = 2,

        /// <summary>
        /// Invalid Facility code
        /// </summary>
        INVALID_FACILITY = 3,

        /// <summary>
        /// Invalid year
        /// </summary>
        INVALID_YEAR = 4,

        /// <summary>
        /// Invalid period or month
        /// </summary>
        INVALID_PERIOD = 5,

        /// <summary>
        /// Facility code is missing
        /// </summary>
        MISSING_FACILITY = 6,

        /// <summary>
        /// Few report parameters
        /// </summary>
        FEW_REPORT_PARAMETERS = 7,

        /// <summary>
        /// Business rule regarding the report failed
        /// </summary>
        BUSINESS_RULES_FAILURE = 8,

        /// <summary>
        /// The value is not integer
        /// </summary>
        NON_INTEGER_VALUE = 9,

        /// <summary>
        /// Missing sender cell phone number
        /// </summary>
        MISSING_SENDER_NUMBER = 10,

        /// <summary>
        /// Invalid Report Initialization
        /// </summary>
        INVALID_REPORT_INITIALIZATION = 11,

        /// <summary>
        /// Report contains data older than two years
        /// </summary>
        REPORT_IS_VERY_OLD = 12,

        /// <summary>
        /// Report contains data for some time in the future.
        /// </summary>
        REPORT_HAS_FUTURE_RECORDS = 13,

        /// <summary>
        /// Report contains too many parameters than expected
        /// </summary>
        MANY_REPORT_PARAMETERS = 14,

        /// <summary>
        /// Invalid Report Processing object
        /// </summary>
        INVALID_OBJECT = 15,

        /// <summary>
        /// Sender number is not registered
        /// </summary>
        SENDER_NUMBER_IS_NOT_REGISTERED = 16,

        /// <summary>
        /// Re-submitting report that has not been submitted yet
        /// </summary>
        RESUBMIT_NON_EXISTING_REPORT = 17,

        /// <summary>
        /// Report is already submitted
        /// </summary>
        REPORT_ALREADY_SUBMITTED = 18,

        /// <summary>
        /// Sender number is not registered to selected facility code
        /// </summary>
        SENDER_NUMBER_IS_NOT_REGISTERED_FOR_SELECTED_FACILITY = 19,

        /// <summary>
        /// Such report is not expected from facility
        /// </summary>
        SUCH_REPORT_IS_NOT_EXPECTED_FROM_FACILITY = 20,

        /// <summary>
        /// Invalid timeframe
        /// </summary>
        INVALID_TIMEFRAME = 21,

        /// <summary>
        /// This value is not decimal
        /// </summary>
        NON_DECIMAL_VALUE = 22,

        /// <summary>
        /// You are not allowed to report incomplete data
        /// </summary>
        CURRENT_MONTH_REPORTING_NOT_ALLOWED = 23,

        /// <summary>
        /// Invalid report age category
        /// </summary>
        INVALID_REPORT_AGE_CATEGORY = 24,

        /// <summary>
        /// MTUHA report section is alreadyy included in this report.
        /// </summary>
        MTUHA_REPORT_SECTION_IS_ALREADY_INCLUDED = 25,

        /// <summary>
        /// MTUHA report section is not valid.
        /// </summary>
        MTUHA_INVALID_REPORT_SECTION = 26,

        /// <summary>
        /// MTUHA report format is invalid after year info
        /// </summary>
        INVALID_REPORT_FORMAT_AFTER_YEAR = 27,

        /// <summary>
        /// Stock message is invalid
        /// </summary>
        STOCK_MESSAGE_INVALID = 28,

        /// <summary>
        /// Unigold is missing
        /// </summary>
        UNIGOLD_IS_MISSING = 29,

        /// <summary>
        /// Determine is missing
        /// </summary>
        DETERMINE_IS_MISSING = 30,

        /// <summary>
        /// DBS is missing
        /// </summary>
        DBS_IS_MISSING = 31,

        /// <summary>
        /// Missing Reports
        /// </summary>
        MISSING_REPORTS = 32,

        /// <summary>
        /// Missing report
        /// </summary>
        MISSING_REPORT = 33,

        /// <summary>
        /// User not authorized for this operation
        /// </summary>
        USER_NOT_AUTHORIZED_FOR_THIS_OPERATION = 34,

        /// <summary>
        /// Section Indicator values could not be resolved
        /// </summary>
        SECTION_INDICATOR_VALUES_COULD_NOT_BE_RESOLVED = 35,

        /// <summary>
        /// MTUHA report is not known or configured properly
        /// </summary>
        MTUHA_REPORT_IS_NOT_KNOWN_OR_CONFIGURED_PROPERLY = 36,

        /// <summary>
        /// Invalid age category or report section
        /// </summary>
        INVALID_AGE_CATEGORY_OR_REPORT_SECTION = 37,

        /// <summary>
        /// MTUHA MC Report is quarterly based.
        /// </summary>
        MTUHA_REPORT_MC_IS_QUARTERLY_REPORTED = 38,
    }
}
